home *** CD-ROM | disk | FTP | other *** search
/ MacAddict 83 / MacAddict_083_2003-07.iso / mac / Software / Development / VLC Source 0.5.3.dmg / include / stream_control.h < prev    next >
C/C++ Source or Header  |  2002-08-06  |  2KB  |  63 lines

  1. /*****************************************************************************
  2.  * stream_control.h: structures of the input exported everywhere
  3.  * This header provides a structure so that everybody knows the state
  4.  * of the reading.
  5.  *****************************************************************************
  6.  * Copyright (C) 1999, 2000 VideoLAN
  7.  * $Id: stream_control.h,v 1.10 2002/07/31 20:56:50 sam Exp $
  8.  *
  9.  * Authors: Christophe Massiot <massiot@via.ecp.fr>
  10.  *
  11.  * This program is free software; you can redistribute it and/or modify
  12.  * it under the terms of the GNU General Public License as published by
  13.  * the Free Software Foundation; either version 2 of the License, or
  14.  * (at your option) any later version.
  15.  * 
  16.  * This program is distributed in the hope that it will be useful,
  17.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  18.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  19.  * GNU General Public License for more details.
  20.  *
  21.  * You should have received a copy of the GNU General Public License
  22.  * along with this program; if not, write to the Free Software
  23.  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
  24.  *****************************************************************************/
  25.  
  26. #ifndef _STREAM_CONTROL_H
  27. #define _STREAM_CONTROL_H 1
  28.  
  29. /* Structures exported to interface, input and decoders */
  30.  
  31. /*****************************************************************************
  32.  * stream_ctrl_t
  33.  *****************************************************************************
  34.  * Describe the state of a program stream.
  35.  *****************************************************************************/
  36. struct stream_ctrl_t
  37. {
  38.     vlc_mutex_t             control_lock;
  39.  
  40.     int                     i_status;
  41.     /* if i_status == FORWARD_S or BACKWARD_S */
  42.     int                     i_rate;
  43.  
  44.     vlc_bool_t              b_mute;
  45.     vlc_bool_t              b_grayscale;           /* use color or grayscale */
  46. };
  47.  
  48. /* Possible status : */
  49. #define UNDEF_S             0
  50. #define PLAYING_S           1
  51. #define PAUSE_S             2
  52. #define FORWARD_S           3
  53. #define BACKWARD_S          4
  54. #define REWIND_S            5                /* Not supported for the moment */
  55. #define NOT_STARTED_S       10
  56. #define START_S             11
  57.  
  58. #define DEFAULT_RATE        1000
  59. #define MINIMAL_RATE        31              /* Up to 32/1 */
  60. #define MAXIMAL_RATE        8000            /* Up to 1/8 */
  61.  
  62. #endif /* "stream_control.h" */
  63.